package com.ruoyi.task.domain;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

import java.util.List;

/**
 * 任务明细对象 task_detail
 * 
 * @author ruoyi
 * @date 2025-06-12
 */
public class TaskDetail extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 任务id */
    private Long taskDetailId;

    /** 任务id */
    @Excel(name = "任务id")
    private String taskId;

    /** 分行机构号 */
    @Excel(name = "分行机构号")
    private String subBankCode;

    /** 分行机名称 */
    @Excel(name = "分行机名称")
    private String subBankName;

    /** 网点机构号 */
    @Excel(name = "网点机构号")
    private String bankCode;

    /** 网点机构名称 */
    @Excel(name = "网点机构名称")
    private String bankName;

    /** 设备ip */
    @Excel(name = "设备ip")
    private String equipmentIp;

    /** 设备通道 */
    @Excel(name = "设备通道")
    private String equipmentChannel;

    /** 设备类型(001-大华) */
    @Excel(name = "设备类型(001-大华)", dictType= "equipment_type")
    private String equipmentType;

    /** 任务采集开始时间 */
    @Excel(name = "任务采集开始时间")
    private String startTime;

    /** 任务采集结束时间 */
    @Excel(name = "任务采集结束时间")
    private String startEnd;

    /** 频率类型(01-每日 02-单次) */
    @Excel(name = "频率类型(01-每日 02-单次)", readConverterExp = "01=每日,02=单次")
    private String frequencyType;

    /** 应用场景(01-大屏检测 02-柜台员工玩手机 03-二道门物品遗留检测 04-消防通道杂物堆放 05-消防疏散门开关检测 06-自助设备清机加钞双人操作 07-保安离岗) */
    @Excel(name = "应用场景", dictType= "task_scenarios_type")
    private String scenariosType;

    /** 帧率 */
    @Excel(name = "帧率")
    private String fps;

    /** 分割时间,以秒为单位 */
    @Excel(name = "分割时间,以秒为单位")
    private Long secondMerge;

    /** 状态（00-初始化 01-视频采集中 02-视频采集完成 03-视频采集失败 04-视频分析中 05-视频分析完成 06-视频分析失败） */
    @Excel(name = "状态", dictType= "task_status")
    private String taskStatus;

    @Excel(name = "通道号备注")
    private String channelRemark;

    @Excel(name = "任务类型", readConverterExp = "1=总行任务,2=分行任务,3=浩云分行")
    private String taskType;

    /** 摄像头编号 */
    @Excel(name = "摄像头编号")
    private String cameraId;

    /** 响应信息 */
    @Excel(name = "响应信息")
    private String msg;

    /**
     * 浩云设备ID
     */
    private String nvrId;

    private List<String>  scenariosTypeList;


    public String getChannelRemark() {
        return channelRemark;
    }

    public void setChannelRemark(String channelRemark) {
        this.channelRemark = channelRemark;
    }

    public List<String> getScenariosTypeList() {
        return scenariosTypeList;
    }

    public void setScenariosTypeList(List<String> scenariosTypeList) {
        this.scenariosTypeList = scenariosTypeList;
    }


    public void setTaskDetailId(Long taskDetailId)
    {
        this.taskDetailId = taskDetailId;
    }

    public Long getTaskDetailId()
    {
        return taskDetailId;
    }

    public void setTaskId(String taskId)
    {
        this.taskId = taskId;
    }

    public String getTaskId()
    {
        return taskId;
    }

    public void setSubBankCode(String subBankCode)
    {
        this.subBankCode = subBankCode;
    }

    public String getSubBankCode()
    {
        return subBankCode;
    }

    public void setSubBankName(String subBankName)
    {
        this.subBankName = subBankName;
    }

    public String getSubBankName()
    {
        return subBankName;
    }

    public void setBankCode(String bankCode)
    {
        this.bankCode = bankCode;
    }

    public String getBankCode()
    {
        return bankCode;
    }

    public void setBankName(String bankName)
    {
        this.bankName = bankName;
    }

    public String getBankName()
    {
        return bankName;
    }

    public void setEquipmentIp(String equipmentIp)
    {
        this.equipmentIp = equipmentIp;
    }

    public String getEquipmentIp()
    {
        return equipmentIp;
    }

    public void setEquipmentChannel(String equipmentChannel)
    {
        this.equipmentChannel = equipmentChannel;
    }

    public String getEquipmentChannel() 
    {
        return equipmentChannel;
    }

    public void setEquipmentType(String equipmentType) 
    {
        this.equipmentType = equipmentType;
    }

    public String getEquipmentType() 
    {
        return equipmentType;
    }

    public void setStartTime(String startTime) 
    {
        this.startTime = startTime;
    }

    public String getStartTime() 
    {
        return startTime;
    }

    public void setStartEnd(String startEnd) 
    {
        this.startEnd = startEnd;
    }

    public String getStartEnd() 
    {
        return startEnd;
    }

    public void setFrequencyType(String frequencyType) 
    {
        this.frequencyType = frequencyType;
    }

    public String getFrequencyType() 
    {
        return frequencyType;
    }

    public void setScenariosType(String scenariosType) 
    {
        this.scenariosType = scenariosType;
    }

    public String getScenariosType() 
    {
        return scenariosType;
    }

    public void setFps(String fps) 
    {
        this.fps = fps;
    }

    public String getFps() 
    {
        return fps;
    }

    public void setSecondMerge(Long secondMerge) 
    {
        this.secondMerge = secondMerge;
    }

    public Long getSecondMerge() 
    {
        return secondMerge;
    }

    public void setTaskStatus(String taskStatus) 
    {
        this.taskStatus = taskStatus;
    }

    public String getTaskStatus() 
    {
        return taskStatus;
    }

    public String getTaskType() {
        return taskType;
    }

    public void setTaskType(String taskType) {
        this.taskType = taskType;
    }

    public String getCameraId() {
        return cameraId;
    }

    public void setCameraId(String cameraId) {
        this.cameraId = cameraId;
    }

    public String getMsg() {
        return msg;
    }

    public void setMsg(String msg) {
        this.msg = msg;
    }

    public String getNvrId() {
        return nvrId;
    }

    public void setNvrId(String nvrId) {
        this.nvrId = nvrId;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("taskDetailId", getTaskDetailId())
            .append("taskId", getTaskId())
            .append("subBankCode", getSubBankCode())
            .append("subBankName", getSubBankName())
            .append("bankCode", getBankCode())
            .append("bankName", getBankName())
            .append("equipmentIp", getEquipmentIp())
            .append("equipmentChannel", getEquipmentChannel())
            .append("equipmentType", getEquipmentType())
            .append("startTime", getStartTime())
            .append("startEnd", getStartEnd())
            .append("frequencyType", getFrequencyType())
            .append("scenariosType", getScenariosType())
            .append("fps", getFps())
            .append("secondMerge", getSecondMerge())
            .append("taskStatus", getTaskStatus())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("cameraId", getCameraId())
            .append("msg", getMsg())
            .toString();
    }
}
